Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs: add some perl docs #1234

Merged
merged 1 commit into from
Dec 4, 2024
Merged

docs: add some perl docs #1234

merged 1 commit into from
Dec 4, 2024

Conversation

wolfv
Copy link
Member

@wolfv wolfv commented Dec 4, 2024

Pinging @danielnachun for review

@wolfv wolfv merged commit 15f70b2 into prefix-dev:main Dec 4, 2024
4 of 5 checks passed
@danielnachun
Copy link

This reference has been helpful for me in understanding the usage of INSTALLDIRS=vendor vs INSTALLDIRS=site: https://stackoverflow.com/a/54470382. My view is that is as a package manager, rattler-build should use INSTALLDIRS=vendor as INSTALLDIRS=site seems more intended towards CPAN installations.

As for the effect on noarch, the choice of that directory does not matter. The structure inside of ${PREFIX}/lib/perl5 looks like this:

5.32
   core_perl
   site_perl
   vendor_perl
core_perl
site_perl
vendor_perl

noarch: generic packages with no native code are installed in the top-level vendor_perl folder, while package with native code are installed in the vendor_perl subdirectory for whatever version of Perl was used to build that package (in this case 5.32). This is because like with Python, the C ABI does not guarantee compatibility between major versions, and attempting to a load package with native code on a version of Perl other than the one used to compile will fail with an error that there is a mismatch in the Perl version.

Hopefully this explanation helps to clear up some of the details on Perl packages. I'm very much looking forward to doing the same for other languages soon!

@wolfv
Copy link
Member Author

wolfv commented Dec 4, 2024

OK, sounds good! The noarch example was reading site before and got me confused :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants